package edu.cibertec.sicsolutions.vfs.domain.votacion;

import net.sf.json.JSONObject;

import org.apache.log4j.Logger;

import edu.cibertec.sicsolutions.exception.DaoException;
import edu.cibertec.sicsolutions.exception.DomainException;
import edu.cibertec.sicsolutions.vfs.dao.votacion.EscrutinioDao;
import edu.cibertec.sicsolutions.vfs.spring.SpringContext;

import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;

/**
 * Domain Object of table ESCRUTINIO 
 * @author enrique.vargas
 *
 */
public class Escrutinio implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 5637554203013970938L;
	/**
	 * 
	 */
	
	private static final Logger log = Logger.getLogger(Escrutinio.class);
	 
	
	public Escrutinio(){
	}
	
	public Escrutinio(Integer codigo){
		this.codigo = codigo;
	}
	
	/**
	 * Column: CODIGO, DataType: int
	 */
	private Integer codigo;
	/**
	 * Column: CODIGO_MESA, DataType: int
	 */
	private Integer codigoMesa;
	/**
	 * Column: CODIGO_CANDIDATO, DataType: int
	 */
	private Integer codigoCandidato;
	
	private Integer cantidadVotos;

    private Candidato candidato;
    
    private MesaVotacion mesaVotacion;
	 
	private Integer numeroElectores;
	
	private String nombreConsulado;
	
	private String codigoConsulado;
	
	public String getCodigoConsulado() {
		return codigoConsulado;
	}

	public void setCodigoConsulado(String codigoConsulado) {
		this.codigoConsulado = codigoConsulado;
	}

	public Integer getCodigo(){
		return codigo;
	}
	public void setCodigo(Integer codigo){
		this.codigo = codigo;
	}
	public Integer getCodigoMesa(){
		return codigoMesa;
	}
	public void setCodigoMesa(Integer codigoMesa){
		this.codigoMesa = codigoMesa;
	}
	public Integer getCodigoCandidato(){
		return codigoCandidato;
	}
	public void setCodigoCandidato(Integer codigoCandidato){
		this.codigoCandidato = codigoCandidato;
	}
	public Candidato getCandidato() {
		return candidato;
	}

	public void setCandidato(Candidato candidato) {
		this.candidato = candidato;
	}

	public MesaVotacion getMesaVotacion() {
		return mesaVotacion;
	}

	public void setMesaVotacion(MesaVotacion mesaVotacion) {
		this.mesaVotacion = mesaVotacion;
	}

	public Integer getCantidadVotos() {
		return cantidadVotos;
	}

	public void setCantidadVotos(Integer cantidadVotos) {
		this.cantidadVotos = cantidadVotos;
	}
    
	public Integer getNumeroElectores() {
		return numeroElectores;
	}

	public void setNumeroElectores(Integer numeroElectores) {
		this.numeroElectores = numeroElectores;
	}

	public String getNombreConsulado() {
		return nombreConsulado;
	}

	public void setNombreConsulado(String nombreConsulado) {
		this.nombreConsulado = nombreConsulado;
	}
	/**
	 * This will create a JSON object and output to client. Get the data from
	 * database and display result to GUI
	 * Convert JSONObject
	 * @return
	 * @throws Exception
	 */
	public JSONObject toJSONObject() throws Exception{
		 
		JSONObject json = new JSONObject();
				    json.put("codigo", codigo);
  	    		    json.put("codigoMesa", codigoMesa);
  	    		    json.put("codigoCandidato", codigoCandidato);
  	      	    
		return json;
	}
}